///////////////////////////////////////////////////////////
//  ViewXML.h
//  Implementation of the Class ViewXML
//  Created on:      23-may-2007 14:48:39
///////////////////////////////////////////////////////////

#if !defined(EA_24BA8330_2F47_4e2d_A197_212C00CB0030__INCLUDED_)
#define EA_24BA8330_2F47_4e2d_A197_212C00CB0030__INCLUDED_

#include "Parser.h"
#include "SampleSourcesafe.h"
#include "CloudLayer.h"
#include "SampleSounding.h"
#include "Station.h"
#include "ConditionAtm.h"
#include <string>
#include <sstream>


class ViewXML : public XMLDoc
{

private:
	int status;
	std::string msgToUsr;
	XMLNode *getParamsNode();
	void addNodeWithContent(std::string name, std::string content);
	
public:
	ViewXML();
	virtual ~ViewXML();
	static const int STATUS_OK = 1;
	static const int STATUS_ERROR = -1;
	static const int STATUS_ATENCION = -2;
	void setStatus(int status);
	int getStatus();
	//Agregado para las pruebas. 
	std::string getMsgToUsr();
	void addMsgToUsr(std::string titulo, std::string contenido);
	void addSizeStationsAdded(int sizeStations);
	void addCantMuestrasSound(int tam);
	void addCantMuestrasSup(int tam);
	void addCantMuestrasClouds(int tam);
	void addMsgToUsr(std::string contenido);
	void addAlerta(std::string contenido);
	std::string toFile(int tab);
	void addStationCode(std::string code);
	void addDate(std::string date);
	void addCloudsLayer(CloudLayer  * cl);
	void addSampleSounding (SampleSounding  * ssd, Station * st);
	void addConditionAtm(ConditionAtm  * ca);
	void addSampleSourcesafe(SampleSourcesafe * ssf);
	void addMethod(std::string mtdo);
	void addAttrib(std::string atrib);
	void addHour(std::string hour);
	void addResult(std::string result);
	void addEstadisticsStation(std::string station);
	void addTypeEst(std::string typeEst);
	void addAtribsRecord(std::string date, std::string hour, std::string result, std::string indType);
	void addAtribsType(std::string atribType);
	void addStationRecord(std::string dateRecord, std::string hourRecord, std::string resultRecord );
};
#endif // !defined(EA_24BA8330_2F47_4e2d_A197_212C00CB0030__INCLUDED_)
